/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: ProtoTest.proto

package org.apache.druid.data.input.protobuf;

@SuppressWarnings("ALL")
public final class ProtoTestEventWrapper
{
  private ProtoTestEventWrapper()
  {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry
  )
  {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry
  )
  {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }

  public interface ProtoTestEventOrBuilder extends
      // @@protoc_insertion_point(interface_extends:prototest.ProtoTestEvent)
      com.google.protobuf.MessageOrBuilder
  {

    /**
     * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
     */
    boolean hasEventType();

    /**
     * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
     */
    org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory getEventType();

    /**
     * <code>required uint64 id = 2;</code>
     */
    boolean hasId();

    /**
     * <code>required uint64 id = 2;</code>
     */
    long getId();

    /**
     * <code>required string timestamp = 3;</code>
     */
    boolean hasTimestamp();

    /**
     * <code>required string timestamp = 3;</code>
     */
    java.lang.String getTimestamp();

    /**
     * <code>required string timestamp = 3;</code>
     */
    com.google.protobuf.ByteString
    getTimestampBytes();

    /**
     * <code>optional uint32 someOtherId = 4;</code>
     */
    boolean hasSomeOtherId();

    /**
     * <code>optional uint32 someOtherId = 4;</code>
     */
    int getSomeOtherId();

    /**
     * <code>optional bool isValid = 5;</code>
     */
    boolean hasIsValid();

    /**
     * <code>optional bool isValid = 5;</code>
     */
    boolean getIsValid();

    /**
     * <code>optional string description = 6;</code>
     */
    boolean hasDescription();

    /**
     * <code>optional string description = 6;</code>
     */
    java.lang.String getDescription();

    /**
     * <code>optional string description = 6;</code>
     */
    com.google.protobuf.ByteString
    getDescriptionBytes();

    /**
     * <code>optional float someFloatColumn = 7;</code>
     */
    boolean hasSomeFloatColumn();

    /**
     * <code>optional float someFloatColumn = 7;</code>
     */
    float getSomeFloatColumn();

    /**
     * <code>optional uint32 someIntColumn = 8;</code>
     */
    boolean hasSomeIntColumn();

    /**
     * <code>optional uint32 someIntColumn = 8;</code>
     */
    int getSomeIntColumn();

    /**
     * <code>optional uint64 someLongColumn = 9;</code>
     */
    boolean hasSomeLongColumn();

    /**
     * <code>optional uint64 someLongColumn = 9;</code>
     */
    long getSomeLongColumn();

    /**
     * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
     */
    boolean hasFoo();

    /**
     * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
     */
    org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getFoo();

    /**
     * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
     */
    org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder getFooOrBuilder();

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    java.util.List<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo>
    getBarList();

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getBar(int index);

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    int getBarCount();

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    java.util.List<? extends org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>
    getBarOrBuilderList();

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder getBarOrBuilder(
        int index
    );
  }

  /**
   * Protobuf type {@code prototest.ProtoTestEvent}
   */
  public static final class ProtoTestEvent extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:prototest.ProtoTestEvent)
      ProtoTestEventOrBuilder
  {
    // Use ProtoTestEvent.newBuilder() to construct.
    private ProtoTestEvent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)
    {
      super(builder);
    }

    private ProtoTestEvent()
    {
      eventType_ = 0;
      id_ = 0L;
      timestamp_ = "";
      someOtherId_ = 0;
      isValid_ = false;
      description_ = "";
      someFloatColumn_ = 0F;
      someIntColumn_ = 0;
      someLongColumn_ = 0L;
      bar_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public com.google.protobuf.UnknownFieldSet
    getUnknownFields()
    {
      return this.unknownFields;
    }

    private ProtoTestEvent(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry
    )
        throws com.google.protobuf.InvalidProtocolBufferException
    {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag
              )) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory value = org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory
                  .valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                eventType_ = rawValue;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              id_ = input.readUInt64();
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              timestamp_ = bs;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              someOtherId_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              isValid_ = input.readBool();
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              description_ = bs;
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              someFloatColumn_ = input.readFloat();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              someIntColumn_ = input.readUInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              someLongColumn_ = input.readUInt64();
              break;
            }
            case 82: {
              org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder subBuilder = null;
              if (((bitField0_ & 0x00000200) == 0x00000200)) {
                subBuilder = foo_.toBuilder();
              }
              foo_ = input.readMessage(
                  org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.PARSER,
                  extensionRegistry
              );
              if (subBuilder != null) {
                subBuilder.mergeFrom(foo_);
                foo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000200;
              break;
            }
            case 90: {
              if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
                bar_ = new java.util.ArrayList<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo>();
                mutable_bitField0_ |= 0x00000400;
              }
              bar_.add(
                  input.readMessage(
                      org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.PARSER,
                      extensionRegistry
                  ));
              break;
            }
          }
        }
      }
      catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      }
      catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      }
      finally {
        if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
          bar_ = java.util.Collections.unmodifiableList(bar_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }

    public static com.google.protobuf.Descriptors.Descriptor
    getDescriptor()
    {
      return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
    internalGetFieldAccessorTable()
    {
      return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.class,
              org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Builder.class
          );
    }

    /**
     * Protobuf enum {@code prototest.ProtoTestEvent.EventCategory}
     */
    public enum EventCategory
        implements com.google.protobuf.ProtocolMessageEnum
    {
      /**
       * <code>CATEGORY_ZERO = 0;</code>
       */
      CATEGORY_ZERO(0),
      /**
       * <code>CATEGORY_ONE = 1;</code>
       */
      CATEGORY_ONE(1),
      /**
       * <code>CATEGORY_TWO = 2;</code>
       */
      CATEGORY_TWO(2),;

      /**
       * <code>CATEGORY_ZERO = 0;</code>
       */
      public static final int CATEGORY_ZERO_VALUE = 0;
      /**
       * <code>CATEGORY_ONE = 1;</code>
       */
      public static final int CATEGORY_ONE_VALUE = 1;
      /**
       * <code>CATEGORY_TWO = 2;</code>
       */
      public static final int CATEGORY_TWO_VALUE = 2;


      public int getNumber()
      {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static EventCategory valueOf(int value)
      {
        return forNumber(value);
      }

      public static EventCategory forNumber(int value)
      {
        switch (value) {
          case 0:
            return CATEGORY_ZERO;
          case 1:
            return CATEGORY_ONE;
          case 2:
            return CATEGORY_TWO;
          default:
            return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<EventCategory>
      internalGetValueMap()
      {
        return internalValueMap;
      }

      private static final com.google.protobuf.Internal.EnumLiteMap<
          EventCategory> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<EventCategory>()
          {
            public EventCategory findValueByNumber(int number)
            {
              return EventCategory.forNumber(number);
            }
          };

      public com.google.protobuf.Descriptors.EnumValueDescriptor
      getValueDescriptor()
      {
        return getDescriptor().getValues().get(ordinal());
      }

      public com.google.protobuf.Descriptors.EnumDescriptor
      getDescriptorForType()
      {
        return getDescriptor();
      }

      public static com.google.protobuf.Descriptors.EnumDescriptor
      getDescriptor()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.getDescriptor().getEnumTypes().get(0);
      }

      private static final EventCategory[] VALUES = values();

      public static EventCategory valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc
      )
      {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      EventCategory(int value)
      {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:prototest.ProtoTestEvent.EventCategory)
    }

    public interface FooOrBuilder extends
        // @@protoc_insertion_point(interface_extends:prototest.ProtoTestEvent.Foo)
        com.google.protobuf.MessageOrBuilder
    {

      /**
       * <code>required string bar = 1;</code>
       */
      boolean hasBar();

      /**
       * <code>required string bar = 1;</code>
       */
      java.lang.String getBar();

      /**
       * <code>required string bar = 1;</code>
       */
      com.google.protobuf.ByteString
      getBarBytes();
    }

    /**
     * Protobuf type {@code prototest.ProtoTestEvent.Foo}
     */
    public static final class Foo extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:prototest.ProtoTestEvent.Foo)
        FooOrBuilder
    {
      // Use Foo.newBuilder() to construct.
      private Foo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)
      {
        super(builder);
      }

      private Foo()
      {
        bar_ = "";
      }

      @java.lang.Override
      public com.google.protobuf.UnknownFieldSet
      getUnknownFields()
      {
        return this.unknownFields;
      }

      private Foo(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws com.google.protobuf.InvalidProtocolBufferException
      {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag
                )) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000001;
                bar_ = bs;
                break;
              }
            }
          }
        }
        catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        }
        catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        }
        finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }

      public static com.google.protobuf.Descriptors.Descriptor
      getDescriptor()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_Foo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_Foo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.class,
                org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder.class
            );
      }

      private int bitField0_;
      public static final int BAR_FIELD_NUMBER = 1;
      private volatile java.lang.Object bar_;

      /**
       * <code>required string bar = 1;</code>
       */
      public boolean hasBar()
      {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }

      /**
       * <code>required string bar = 1;</code>
       */
      public java.lang.String getBar()
      {
        java.lang.Object ref = bar_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            bar_ = s;
          }
          return s;
        }
      }

      /**
       * <code>required string bar = 1;</code>
       */
      public com.google.protobuf.ByteString
      getBarBytes()
      {
        java.lang.Object ref = bar_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          bar_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;

      public boolean isInitialized()
      {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) {
          return true;
        }
        if (isInitialized == 0) {
          return false;
        }

        if (!hasBar()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
          throws java.io.IOException
      {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, bar_);
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize()
      {
        int size = memoizedSize;
        if (size != -1) {
          return size;
        }

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, bar_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;

      @java.lang.Override
      public boolean equals(final java.lang.Object obj)
      {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo)) {
          return super.equals(obj);
        }
        org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo other = (org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo) obj;

        boolean result = hasBar() == other.hasBar();
        if (hasBar()) {
          result = result && getBar()
              .equals(other.getBar());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode()
      {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasBar()) {
          hash = (37 * hash) + BAR_FIELD_NUMBER;
          hash = (53 * hash) + getBar().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(
          com.google.protobuf.ByteString data
      )
          throws com.google.protobuf.InvalidProtocolBufferException
      {
        return PARSER.parseFrom(data);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws com.google.protobuf.InvalidProtocolBufferException
      {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException
      {
        return PARSER.parseFrom(data);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws com.google.protobuf.InvalidProtocolBufferException
      {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(java.io.InputStream input)
          throws java.io.IOException
      {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws java.io.IOException
      {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException
      {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws java.io.IOException
      {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(
          com.google.protobuf.CodedInputStream input
      )
          throws java.io.IOException
      {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws java.io.IOException
      {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType()
      {
        return newBuilder();
      }

      public static Builder newBuilder()
      {
        return DEFAULT_INSTANCE.toBuilder();
      }

      public static Builder newBuilder(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo prototype)
      {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }

      public Builder toBuilder()
      {
        return this == DEFAULT_INSTANCE
               ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent
      )
      {
        Builder builder = new Builder(parent);
        return builder;
      }

      /**
       * Protobuf type {@code prototest.ProtoTestEvent.Foo}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:prototest.ProtoTestEvent.Foo)
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder
      {
        public static com.google.protobuf.Descriptors.Descriptor
        getDescriptor()
        {
          return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_Foo_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable()
        {
          return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_Foo_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.class,
                  org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder.class
              );
        }

        // Construct using org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.newBuilder()
        private Builder()
        {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent
        )
        {
          super(parent);
          maybeForceBuilderInitialization();
        }

        private void maybeForceBuilderInitialization()
        {
          if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
          }
        }

        public Builder clear()
        {
          super.clear();
          bar_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType()
        {
          return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_Foo_descriptor;
        }

        public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getDefaultInstanceForType()
        {
          return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance();
        }

        public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo build()
        {
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo buildPartial()
        {
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo result = new org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo(
              this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.bar_ = bar_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone()
        {
          return (Builder) super.clone();
        }

        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value
        )
        {
          return (Builder) super.setField(field, value);
        }

        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field
        )
        {
          return (Builder) super.clearField(field);
        }

        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof
        )
        {
          return (Builder) super.clearOneof(oneof);
        }

        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value
        )
        {
          return (Builder) super.setRepeatedField(field, index, value);
        }

        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value
        )
        {
          return (Builder) super.addRepeatedField(field, value);
        }

        public Builder mergeFrom(com.google.protobuf.Message other)
        {
          if (other instanceof org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo) {
            return mergeFrom((org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo other)
        {
          if (other == org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance()) {
            return this;
          }
          if (other.hasBar()) {
            bitField0_ |= 0x00000001;
            bar_ = other.bar_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public boolean isInitialized()
        {
          if (!hasBar()) {
            return false;
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry
        )
            throws java.io.IOException
        {
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          }
          catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          }
          finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int bitField0_;

        private java.lang.Object bar_ = "";

        /**
         * <code>required string bar = 1;</code>
         */
        public boolean hasBar()
        {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * <code>required string bar = 1;</code>
         */
        public java.lang.String getBar()
        {
          java.lang.Object ref = bar_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              bar_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }

        /**
         * <code>required string bar = 1;</code>
         */
        public com.google.protobuf.ByteString
        getBarBytes()
        {
          java.lang.Object ref = bar_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            bar_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        /**
         * <code>required string bar = 1;</code>
         */
        public Builder setBar(
            java.lang.String value
        )
        {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          bar_ = value;
          onChanged();
          return this;
        }

        /**
         * <code>required string bar = 1;</code>
         */
        public Builder clearBar()
        {
          bitField0_ = (bitField0_ & ~0x00000001);
          bar_ = getDefaultInstance().getBar();
          onChanged();
          return this;
        }

        /**
         * <code>required string bar = 1;</code>
         */
        public Builder setBarBytes(
            com.google.protobuf.ByteString value
        )
        {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          bar_ = value;
          onChanged();
          return this;
        }

        public Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields
        )
        {
          return super.setUnknownFields(unknownFields);
        }

        public Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields
        )
        {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:prototest.ProtoTestEvent.Foo)
      }

      // @@protoc_insertion_point(class_scope:prototest.ProtoTestEvent.Foo)
      private static final org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo DEFAULT_INSTANCE;

      static {
        DEFAULT_INSTANCE = new org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo();
      }

      public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getDefaultInstance()
      {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated
      public static final com.google.protobuf.Parser<Foo>
          PARSER = new com.google.protobuf.AbstractParser<Foo>()
      {
        public Foo parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry
        )
            throws com.google.protobuf.InvalidProtocolBufferException
        {
          return new Foo(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser<Foo> parser()
      {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser<Foo> getParserForType()
      {
        return PARSER;
      }

      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getDefaultInstanceForType()
      {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int EVENTTYPE_FIELD_NUMBER = 1;
    private int eventType_;

    /**
     * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
     */
    public boolean hasEventType()
    {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }

    /**
     * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
     */
    public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory getEventType()
    {
      org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory result = org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory
          .valueOf(eventType_);
      return result == null
             ? org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory.CATEGORY_ZERO
             : result;
    }

    public static final int ID_FIELD_NUMBER = 2;
    private long id_;

    /**
     * <code>required uint64 id = 2;</code>
     */
    public boolean hasId()
    {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }

    /**
     * <code>required uint64 id = 2;</code>
     */
    public long getId()
    {
      return id_;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 3;
    private volatile java.lang.Object timestamp_;

    /**
     * <code>required string timestamp = 3;</code>
     */
    public boolean hasTimestamp()
    {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }

    /**
     * <code>required string timestamp = 3;</code>
     */
    public java.lang.String getTimestamp()
    {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          timestamp_ = s;
        }
        return s;
      }
    }

    /**
     * <code>required string timestamp = 3;</code>
     */
    public com.google.protobuf.ByteString
    getTimestampBytes()
    {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SOMEOTHERID_FIELD_NUMBER = 4;
    private int someOtherId_;

    /**
     * <code>optional uint32 someOtherId = 4;</code>
     */
    public boolean hasSomeOtherId()
    {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }

    /**
     * <code>optional uint32 someOtherId = 4;</code>
     */
    public int getSomeOtherId()
    {
      return someOtherId_;
    }

    public static final int ISVALID_FIELD_NUMBER = 5;
    private boolean isValid_;

    /**
     * <code>optional bool isValid = 5;</code>
     */
    public boolean hasIsValid()
    {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }

    /**
     * <code>optional bool isValid = 5;</code>
     */
    public boolean getIsValid()
    {
      return isValid_;
    }

    public static final int DESCRIPTION_FIELD_NUMBER = 6;
    private volatile java.lang.Object description_;

    /**
     * <code>optional string description = 6;</code>
     */
    public boolean hasDescription()
    {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }

    /**
     * <code>optional string description = 6;</code>
     */
    public java.lang.String getDescription()
    {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          description_ = s;
        }
        return s;
      }
    }

    /**
     * <code>optional string description = 6;</code>
     */
    public com.google.protobuf.ByteString
    getDescriptionBytes()
    {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SOMEFLOATCOLUMN_FIELD_NUMBER = 7;
    private float someFloatColumn_;

    /**
     * <code>optional float someFloatColumn = 7;</code>
     */
    public boolean hasSomeFloatColumn()
    {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }

    /**
     * <code>optional float someFloatColumn = 7;</code>
     */
    public float getSomeFloatColumn()
    {
      return someFloatColumn_;
    }

    public static final int SOMEINTCOLUMN_FIELD_NUMBER = 8;
    private int someIntColumn_;

    /**
     * <code>optional uint32 someIntColumn = 8;</code>
     */
    public boolean hasSomeIntColumn()
    {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }

    /**
     * <code>optional uint32 someIntColumn = 8;</code>
     */
    public int getSomeIntColumn()
    {
      return someIntColumn_;
    }

    public static final int SOMELONGCOLUMN_FIELD_NUMBER = 9;
    private long someLongColumn_;

    /**
     * <code>optional uint64 someLongColumn = 9;</code>
     */
    public boolean hasSomeLongColumn()
    {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }

    /**
     * <code>optional uint64 someLongColumn = 9;</code>
     */
    public long getSomeLongColumn()
    {
      return someLongColumn_;
    }

    public static final int FOO_FIELD_NUMBER = 10;
    private org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo foo_;

    /**
     * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
     */
    public boolean hasFoo()
    {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }

    /**
     * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
     */
    public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getFoo()
    {
      return foo_ == null
             ? org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance()
             : foo_;
    }

    /**
     * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
     */
    public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder getFooOrBuilder()
    {
      return foo_ == null
             ? org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance()
             : foo_;
    }

    public static final int BAR_FIELD_NUMBER = 11;
    private java.util.List<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo> bar_;

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    public java.util.List<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo> getBarList()
    {
      return bar_;
    }

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    public java.util.List<? extends org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>
    getBarOrBuilderList()
    {
      return bar_;
    }

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    public int getBarCount()
    {
      return bar_.size();
    }

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getBar(int index)
    {
      return bar_.get(index);
    }

    /**
     * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
     */
    public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder getBarOrBuilder(
        int index
    )
    {
      return bar_.get(index);
    }

    private byte memoizedIsInitialized = -1;

    public boolean isInitialized()
    {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) {
        return true;
      }
      if (isInitialized == 0) {
        return false;
      }

      if (!hasEventType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTimestamp()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasFoo()) {
        if (!getFoo().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getBarCount(); i++) {
        if (!getBar(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
        throws java.io.IOException
    {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, eventType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt64(2, id_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, timestamp_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, someOtherId_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBool(5, isValid_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, description_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFloat(7, someFloatColumn_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeUInt32(8, someIntColumn_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeUInt64(9, someLongColumn_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeMessage(10, getFoo());
      }
      for (int i = 0; i < bar_.size(); i++) {
        output.writeMessage(11, bar_.get(i));
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize()
    {
      int size = memoizedSize;
      if (size != -1) {
        return size;
      }

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, eventType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(2, id_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, timestamp_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(4, someOtherId_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(5, isValid_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, description_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(7, someFloatColumn_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(8, someIntColumn_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(9, someLongColumn_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(10, getFoo());
      }
      for (int i = 0; i < bar_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(11, bar_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;

    @java.lang.Override
    public boolean equals(final java.lang.Object obj)
    {
      if (obj == this) {
        return true;
      }
      if (!(obj instanceof org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent)) {
        return super.equals(obj);
      }
      org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent other = (org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent) obj;

      boolean result = true;
      result = result && (hasEventType() == other.hasEventType());
      if (hasEventType()) {
        result = result && eventType_ == other.eventType_;
      }
      result = result && (hasId() == other.hasId());
      if (hasId()) {
        result = result && (getId()
                            == other.getId());
      }
      result = result && (hasTimestamp() == other.hasTimestamp());
      if (hasTimestamp()) {
        result = result && getTimestamp()
            .equals(other.getTimestamp());
      }
      result = result && (hasSomeOtherId() == other.hasSomeOtherId());
      if (hasSomeOtherId()) {
        result = result && (getSomeOtherId()
                            == other.getSomeOtherId());
      }
      result = result && (hasIsValid() == other.hasIsValid());
      if (hasIsValid()) {
        result = result && (getIsValid()
                            == other.getIsValid());
      }
      result = result && (hasDescription() == other.hasDescription());
      if (hasDescription()) {
        result = result && getDescription()
            .equals(other.getDescription());
      }
      result = result && (hasSomeFloatColumn() == other.hasSomeFloatColumn());
      if (hasSomeFloatColumn()) {
        result = result && (
            java.lang.Float.floatToIntBits(getSomeFloatColumn())
            == java.lang.Float.floatToIntBits(
                other.getSomeFloatColumn()));
      }
      result = result && (hasSomeIntColumn() == other.hasSomeIntColumn());
      if (hasSomeIntColumn()) {
        result = result && (getSomeIntColumn()
                            == other.getSomeIntColumn());
      }
      result = result && (hasSomeLongColumn() == other.hasSomeLongColumn());
      if (hasSomeLongColumn()) {
        result = result && (getSomeLongColumn()
                            == other.getSomeLongColumn());
      }
      result = result && (hasFoo() == other.hasFoo());
      if (hasFoo()) {
        result = result && getFoo()
            .equals(other.getFoo());
      }
      result = result && getBarList()
          .equals(other.getBarList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode()
    {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasEventType()) {
        hash = (37 * hash) + EVENTTYPE_FIELD_NUMBER;
        hash = (53 * hash) + eventType_;
      }
      if (hasId()) {
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getId());
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + getTimestamp().hashCode();
      }
      if (hasSomeOtherId()) {
        hash = (37 * hash) + SOMEOTHERID_FIELD_NUMBER;
        hash = (53 * hash) + getSomeOtherId();
      }
      if (hasIsValid()) {
        hash = (37 * hash) + ISVALID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsValid());
      }
      if (hasDescription()) {
        hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
        hash = (53 * hash) + getDescription().hashCode();
      }
      if (hasSomeFloatColumn()) {
        hash = (37 * hash) + SOMEFLOATCOLUMN_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getSomeFloatColumn());
      }
      if (hasSomeIntColumn()) {
        hash = (37 * hash) + SOMEINTCOLUMN_FIELD_NUMBER;
        hash = (53 * hash) + getSomeIntColumn();
      }
      if (hasSomeLongColumn()) {
        hash = (37 * hash) + SOMELONGCOLUMN_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSomeLongColumn());
      }
      if (hasFoo()) {
        hash = (37 * hash) + FOO_FIELD_NUMBER;
        hash = (53 * hash) + getFoo().hashCode();
      }
      if (getBarCount() > 0) {
        hash = (37 * hash) + BAR_FIELD_NUMBER;
        hash = (53 * hash) + getBarList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(
        com.google.protobuf.ByteString data
    )
        throws com.google.protobuf.InvalidProtocolBufferException
    {
      return PARSER.parseFrom(data);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry
    )
        throws com.google.protobuf.InvalidProtocolBufferException
    {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException
    {
      return PARSER.parseFrom(data);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry
    )
        throws com.google.protobuf.InvalidProtocolBufferException
    {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException
    {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry
    )
        throws java.io.IOException
    {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException
    {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry
    )
        throws java.io.IOException
    {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(
        com.google.protobuf.CodedInputStream input
    )
        throws java.io.IOException
    {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry
    )
        throws java.io.IOException
    {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType()
    {
      return newBuilder();
    }

    public static Builder newBuilder()
    {
      return DEFAULT_INSTANCE.toBuilder();
    }

    public static Builder newBuilder(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent prototype)
    {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    public Builder toBuilder()
    {
      return this == DEFAULT_INSTANCE
             ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent
    )
    {
      Builder builder = new Builder(parent);
      return builder;
    }

    /**
     * Protobuf type {@code prototest.ProtoTestEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:prototest.ProtoTestEvent)
        org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEventOrBuilder
    {
      public static com.google.protobuf.Descriptors.Descriptor
      getDescriptor()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.class,
                org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Builder.class
            );
      }

      // Construct using org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.newBuilder()
      private Builder()
      {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent
      )
      {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization()
      {
        if (com.google.protobuf.GeneratedMessageV3
            .alwaysUseFieldBuilders) {
          getFooFieldBuilder();
          getBarFieldBuilder();
        }
      }

      public Builder clear()
      {
        super.clear();
        eventType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        id_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        timestamp_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        someOtherId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        isValid_ = false;
        bitField0_ = (bitField0_ & ~0x00000010);
        description_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        someFloatColumn_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000040);
        someIntColumn_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        someLongColumn_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000100);
        if (fooBuilder_ == null) {
          foo_ = null;
        } else {
          fooBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        if (barBuilder_ == null) {
          bar_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000400);
        } else {
          barBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
      getDescriptorForType()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.internal_static_prototest_ProtoTestEvent_descriptor;
      }

      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent getDefaultInstanceForType()
      {
        return org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.getDefaultInstance();
      }

      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent build()
      {
        org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent buildPartial()
      {
        org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent result = new org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent(
            this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.eventType_ = eventType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.id_ = id_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.someOtherId_ = someOtherId_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.isValid_ = isValid_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.description_ = description_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.someFloatColumn_ = someFloatColumn_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.someIntColumn_ = someIntColumn_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.someLongColumn_ = someLongColumn_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        if (fooBuilder_ == null) {
          result.foo_ = foo_;
        } else {
          result.foo_ = fooBuilder_.build();
        }
        if (barBuilder_ == null) {
          if (((bitField0_ & 0x00000400) == 0x00000400)) {
            bar_ = java.util.Collections.unmodifiableList(bar_);
            bitField0_ = (bitField0_ & ~0x00000400);
          }
          result.bar_ = bar_;
        } else {
          result.bar_ = barBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone()
      {
        return (Builder) super.clone();
      }

      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value
      )
      {
        return (Builder) super.setField(field, value);
      }

      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field
      )
      {
        return (Builder) super.clearField(field);
      }

      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof
      )
      {
        return (Builder) super.clearOneof(oneof);
      }

      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value
      )
      {
        return (Builder) super.setRepeatedField(field, index, value);
      }

      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value
      )
      {
        return (Builder) super.addRepeatedField(field, value);
      }

      public Builder mergeFrom(com.google.protobuf.Message other)
      {
        if (other instanceof org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent) {
          return mergeFrom((org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent other)
      {
        if (other == org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.getDefaultInstance()) {
          return this;
        }
        if (other.hasEventType()) {
          setEventType(other.getEventType());
        }
        if (other.hasId()) {
          setId(other.getId());
        }
        if (other.hasTimestamp()) {
          bitField0_ |= 0x00000004;
          timestamp_ = other.timestamp_;
          onChanged();
        }
        if (other.hasSomeOtherId()) {
          setSomeOtherId(other.getSomeOtherId());
        }
        if (other.hasIsValid()) {
          setIsValid(other.getIsValid());
        }
        if (other.hasDescription()) {
          bitField0_ |= 0x00000020;
          description_ = other.description_;
          onChanged();
        }
        if (other.hasSomeFloatColumn()) {
          setSomeFloatColumn(other.getSomeFloatColumn());
        }
        if (other.hasSomeIntColumn()) {
          setSomeIntColumn(other.getSomeIntColumn());
        }
        if (other.hasSomeLongColumn()) {
          setSomeLongColumn(other.getSomeLongColumn());
        }
        if (other.hasFoo()) {
          mergeFoo(other.getFoo());
        }
        if (barBuilder_ == null) {
          if (!other.bar_.isEmpty()) {
            if (bar_.isEmpty()) {
              bar_ = other.bar_;
              bitField0_ = (bitField0_ & ~0x00000400);
            } else {
              ensureBarIsMutable();
              bar_.addAll(other.bar_);
            }
            onChanged();
          }
        } else {
          if (!other.bar_.isEmpty()) {
            if (barBuilder_.isEmpty()) {
              barBuilder_.dispose();
              barBuilder_ = null;
              bar_ = other.bar_;
              bitField0_ = (bitField0_ & ~0x00000400);
              barBuilder_ =
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                  getBarFieldBuilder() : null;
            } else {
              barBuilder_.addAllMessages(other.bar_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public boolean isInitialized()
      {
        if (!hasEventType()) {
          return false;
        }
        if (!hasId()) {
          return false;
        }
        if (!hasTimestamp()) {
          return false;
        }
        if (hasFoo()) {
          if (!getFoo().isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getBarCount(); i++) {
          if (!getBar(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws java.io.IOException
      {
        org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        }
        catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        }
        finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private int eventType_ = 0;

      /**
       * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
       */
      public boolean hasEventType()
      {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }

      /**
       * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory getEventType()
      {
        org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory result = org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory
            .valueOf(eventType_);
        return result == null
               ? org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory.CATEGORY_ZERO
               : result;
      }

      /**
       * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
       */
      public Builder setEventType(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.EventCategory value)
      {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        eventType_ = value.getNumber();
        onChanged();
        return this;
      }

      /**
       * <code>required .prototest.ProtoTestEvent.EventCategory eventType = 1;</code>
       */
      public Builder clearEventType()
      {
        bitField0_ = (bitField0_ & ~0x00000001);
        eventType_ = 0;
        onChanged();
        return this;
      }

      private long id_;

      /**
       * <code>required uint64 id = 2;</code>
       */
      public boolean hasId()
      {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }

      /**
       * <code>required uint64 id = 2;</code>
       */
      public long getId()
      {
        return id_;
      }

      /**
       * <code>required uint64 id = 2;</code>
       */
      public Builder setId(long value)
      {
        bitField0_ |= 0x00000002;
        id_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>required uint64 id = 2;</code>
       */
      public Builder clearId()
      {
        bitField0_ = (bitField0_ & ~0x00000002);
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object timestamp_ = "";

      /**
       * <code>required string timestamp = 3;</code>
       */
      public boolean hasTimestamp()
      {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }

      /**
       * <code>required string timestamp = 3;</code>
       */
      public java.lang.String getTimestamp()
      {
        java.lang.Object ref = timestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            timestamp_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }

      /**
       * <code>required string timestamp = 3;</code>
       */
      public com.google.protobuf.ByteString
      getTimestampBytes()
      {
        java.lang.Object ref = timestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      /**
       * <code>required string timestamp = 3;</code>
       */
      public Builder setTimestamp(
          java.lang.String value
      )
      {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        timestamp_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>required string timestamp = 3;</code>
       */
      public Builder clearTimestamp()
      {
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = getDefaultInstance().getTimestamp();
        onChanged();
        return this;
      }

      /**
       * <code>required string timestamp = 3;</code>
       */
      public Builder setTimestampBytes(
          com.google.protobuf.ByteString value
      )
      {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        timestamp_ = value;
        onChanged();
        return this;
      }

      private int someOtherId_;

      /**
       * <code>optional uint32 someOtherId = 4;</code>
       */
      public boolean hasSomeOtherId()
      {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }

      /**
       * <code>optional uint32 someOtherId = 4;</code>
       */
      public int getSomeOtherId()
      {
        return someOtherId_;
      }

      /**
       * <code>optional uint32 someOtherId = 4;</code>
       */
      public Builder setSomeOtherId(int value)
      {
        bitField0_ |= 0x00000008;
        someOtherId_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>optional uint32 someOtherId = 4;</code>
       */
      public Builder clearSomeOtherId()
      {
        bitField0_ = (bitField0_ & ~0x00000008);
        someOtherId_ = 0;
        onChanged();
        return this;
      }

      private boolean isValid_;

      /**
       * <code>optional bool isValid = 5;</code>
       */
      public boolean hasIsValid()
      {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }

      /**
       * <code>optional bool isValid = 5;</code>
       */
      public boolean getIsValid()
      {
        return isValid_;
      }

      /**
       * <code>optional bool isValid = 5;</code>
       */
      public Builder setIsValid(boolean value)
      {
        bitField0_ |= 0x00000010;
        isValid_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>optional bool isValid = 5;</code>
       */
      public Builder clearIsValid()
      {
        bitField0_ = (bitField0_ & ~0x00000010);
        isValid_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object description_ = "";

      /**
       * <code>optional string description = 6;</code>
       */
      public boolean hasDescription()
      {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }

      /**
       * <code>optional string description = 6;</code>
       */
      public java.lang.String getDescription()
      {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            description_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }

      /**
       * <code>optional string description = 6;</code>
       */
      public com.google.protobuf.ByteString
      getDescriptionBytes()
      {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      /**
       * <code>optional string description = 6;</code>
       */
      public Builder setDescription(
          java.lang.String value
      )
      {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000020;
        description_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>optional string description = 6;</code>
       */
      public Builder clearDescription()
      {
        bitField0_ = (bitField0_ & ~0x00000020);
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }

      /**
       * <code>optional string description = 6;</code>
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value
      )
      {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000020;
        description_ = value;
        onChanged();
        return this;
      }

      private float someFloatColumn_;

      /**
       * <code>optional float someFloatColumn = 7;</code>
       */
      public boolean hasSomeFloatColumn()
      {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }

      /**
       * <code>optional float someFloatColumn = 7;</code>
       */
      public float getSomeFloatColumn()
      {
        return someFloatColumn_;
      }

      /**
       * <code>optional float someFloatColumn = 7;</code>
       */
      public Builder setSomeFloatColumn(float value)
      {
        bitField0_ |= 0x00000040;
        someFloatColumn_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>optional float someFloatColumn = 7;</code>
       */
      public Builder clearSomeFloatColumn()
      {
        bitField0_ = (bitField0_ & ~0x00000040);
        someFloatColumn_ = 0F;
        onChanged();
        return this;
      }

      private int someIntColumn_;

      /**
       * <code>optional uint32 someIntColumn = 8;</code>
       */
      public boolean hasSomeIntColumn()
      {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }

      /**
       * <code>optional uint32 someIntColumn = 8;</code>
       */
      public int getSomeIntColumn()
      {
        return someIntColumn_;
      }

      /**
       * <code>optional uint32 someIntColumn = 8;</code>
       */
      public Builder setSomeIntColumn(int value)
      {
        bitField0_ |= 0x00000080;
        someIntColumn_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>optional uint32 someIntColumn = 8;</code>
       */
      public Builder clearSomeIntColumn()
      {
        bitField0_ = (bitField0_ & ~0x00000080);
        someIntColumn_ = 0;
        onChanged();
        return this;
      }

      private long someLongColumn_;

      /**
       * <code>optional uint64 someLongColumn = 9;</code>
       */
      public boolean hasSomeLongColumn()
      {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }

      /**
       * <code>optional uint64 someLongColumn = 9;</code>
       */
      public long getSomeLongColumn()
      {
        return someLongColumn_;
      }

      /**
       * <code>optional uint64 someLongColumn = 9;</code>
       */
      public Builder setSomeLongColumn(long value)
      {
        bitField0_ |= 0x00000100;
        someLongColumn_ = value;
        onChanged();
        return this;
      }

      /**
       * <code>optional uint64 someLongColumn = 9;</code>
       */
      public Builder clearSomeLongColumn()
      {
        bitField0_ = (bitField0_ & ~0x00000100);
        someLongColumn_ = 0L;
        onChanged();
        return this;
      }

      private org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo foo_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder> fooBuilder_;

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public boolean hasFoo()
      {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getFoo()
      {
        if (fooBuilder_ == null) {
          return foo_ == null
                 ? org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance()
                 : foo_;
        } else {
          return fooBuilder_.getMessage();
        }
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public Builder setFoo(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo value)
      {
        if (fooBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          foo_ = value;
          onChanged();
        } else {
          fooBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public Builder setFoo(
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder builderForValue
      )
      {
        if (fooBuilder_ == null) {
          foo_ = builderForValue.build();
          onChanged();
        } else {
          fooBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        return this;
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public Builder mergeFoo(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo value)
      {
        if (fooBuilder_ == null) {
          if (((bitField0_ & 0x00000200) == 0x00000200) &&
              foo_ != null &&
              foo_ != org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance()) {
            foo_ =
                org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.newBuilder(foo_)
                                                                                     .mergeFrom(value)
                                                                                     .buildPartial();
          } else {
            foo_ = value;
          }
          onChanged();
        } else {
          fooBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public Builder clearFoo()
      {
        if (fooBuilder_ == null) {
          foo_ = null;
          onChanged();
        } else {
          fooBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder getFooBuilder()
      {
        bitField0_ |= 0x00000200;
        onChanged();
        return getFooFieldBuilder().getBuilder();
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder getFooOrBuilder()
      {
        if (fooBuilder_ != null) {
          return fooBuilder_.getMessageOrBuilder();
        } else {
          return foo_ == null ?
                 org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance() : foo_;
        }
      }

      /**
       * <code>optional .prototest.ProtoTestEvent.Foo foo = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>
      getFooFieldBuilder()
      {
        if (fooBuilder_ == null) {
          fooBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>(
              getFoo(),
              getParentForChildren(),
              isClean()
          );
          foo_ = null;
        }
        return fooBuilder_;
      }

      private java.util.List<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo> bar_ =
          java.util.Collections.emptyList();

      private void ensureBarIsMutable()
      {
        if (!((bitField0_ & 0x00000400) == 0x00000400)) {
          bar_ = new java.util.ArrayList<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo>(bar_);
          bitField0_ |= 0x00000400;
        }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder> barBuilder_;

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public java.util.List<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo> getBarList()
      {
        if (barBuilder_ == null) {
          return java.util.Collections.unmodifiableList(bar_);
        } else {
          return barBuilder_.getMessageList();
        }
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public int getBarCount()
      {
        if (barBuilder_ == null) {
          return bar_.size();
        } else {
          return barBuilder_.getCount();
        }
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo getBar(int index)
      {
        if (barBuilder_ == null) {
          return bar_.get(index);
        } else {
          return barBuilder_.getMessage(index);
        }
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder setBar(
          int index, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo value
      )
      {
        if (barBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBarIsMutable();
          bar_.set(index, value);
          onChanged();
        } else {
          barBuilder_.setMessage(index, value);
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder setBar(
          int index, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder builderForValue
      )
      {
        if (barBuilder_ == null) {
          ensureBarIsMutable();
          bar_.set(index, builderForValue.build());
          onChanged();
        } else {
          barBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder addBar(org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo value)
      {
        if (barBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBarIsMutable();
          bar_.add(value);
          onChanged();
        } else {
          barBuilder_.addMessage(value);
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder addBar(
          int index, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo value
      )
      {
        if (barBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBarIsMutable();
          bar_.add(index, value);
          onChanged();
        } else {
          barBuilder_.addMessage(index, value);
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder addBar(
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder builderForValue
      )
      {
        if (barBuilder_ == null) {
          ensureBarIsMutable();
          bar_.add(builderForValue.build());
          onChanged();
        } else {
          barBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder addBar(
          int index, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder builderForValue
      )
      {
        if (barBuilder_ == null) {
          ensureBarIsMutable();
          bar_.add(index, builderForValue.build());
          onChanged();
        } else {
          barBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder addAllBar(
          java.lang.Iterable<? extends org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo> values
      )
      {
        if (barBuilder_ == null) {
          ensureBarIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, bar_);
          onChanged();
        } else {
          barBuilder_.addAllMessages(values);
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder clearBar()
      {
        if (barBuilder_ == null) {
          bar_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000400);
          onChanged();
        } else {
          barBuilder_.clear();
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public Builder removeBar(int index)
      {
        if (barBuilder_ == null) {
          ensureBarIsMutable();
          bar_.remove(index);
          onChanged();
        } else {
          barBuilder_.remove(index);
        }
        return this;
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder getBarBuilder(
          int index
      )
      {
        return getBarFieldBuilder().getBuilder(index);
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder getBarOrBuilder(
          int index
      )
      {
        if (barBuilder_ == null) {
          return bar_.get(index);
        } else {
          return barBuilder_.getMessageOrBuilder(index);
        }
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public java.util.List<? extends org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>
      getBarOrBuilderList()
      {
        if (barBuilder_ != null) {
          return barBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(bar_);
        }
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder addBarBuilder()
      {
        return getBarFieldBuilder().addBuilder(
            org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance());
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder addBarBuilder(
          int index
      )
      {
        return getBarFieldBuilder().addBuilder(
            index, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.getDefaultInstance());
      }

      /**
       * <code>repeated .prototest.ProtoTestEvent.Foo bar = 11;</code>
       */
      public java.util.List<org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder>
      getBarBuilderList()
      {
        return getBarFieldBuilder().getBuilderList();
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>
      getBarFieldBuilder()
      {
        if (barBuilder_ == null) {
          barBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.Foo.Builder, org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent.FooOrBuilder>(
              bar_,
              ((bitField0_ & 0x00000400) == 0x00000400),
              getParentForChildren(),
              isClean()
          );
          bar_ = null;
        }
        return barBuilder_;
      }

      public Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields
      )
      {
        return super.setUnknownFields(unknownFields);
      }

      public Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields
      )
      {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:prototest.ProtoTestEvent)
    }

    // @@protoc_insertion_point(class_scope:prototest.ProtoTestEvent)
    private static final org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE = new org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent();
    }

    public static org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent getDefaultInstance()
    {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated
    public static final com.google.protobuf.Parser<ProtoTestEvent>
        PARSER = new com.google.protobuf.AbstractParser<ProtoTestEvent>()
    {
      public ProtoTestEvent parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry
      )
          throws com.google.protobuf.InvalidProtocolBufferException
      {
        return new ProtoTestEvent(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<ProtoTestEvent> parser()
    {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ProtoTestEvent> getParserForType()
    {
      return PARSER;
    }

    public org.apache.druid.data.input.protobuf.ProtoTestEventWrapper.ProtoTestEvent getDefaultInstanceForType()
    {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_prototest_ProtoTestEvent_descriptor;
  private static final
  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_prototest_ProtoTestEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_prototest_ProtoTestEvent_Foo_descriptor;
  private static final
  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_prototest_ProtoTestEvent_Foo_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
  getDescriptor()
  {
    return descriptor;
  }

  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;

  static {
    java.lang.String[] descriptorData = {
        "\n\017ProtoTest.proto\022\tprototest\"\242\003\n\016ProtoTe" +
        "stEvent\022:\n\teventType\030\001 \002(\0162\'.prototest.P" +
        "rotoTestEvent.EventCategory\022\n\n\002id\030\002 \002(\004\022" +
        "\021\n\ttimestamp\030\003 \002(\t\022\023\n\013someOtherId\030\004 \001(\r\022" +
        "\017\n\007isValid\030\005 \001(\010\022\023\n\013description\030\006 \001(\t\022\027\n" +
        "\017someFloatColumn\030\007 \001(\002\022\025\n\rsomeIntColumn\030" +
        "\010 \001(\r\022\026\n\016someLongColumn\030\t \001(\004\022*\n\003foo\030\n \001" +
        "(\0132\035.prototest.ProtoTestEvent.Foo\022*\n\003bar" +
        "\030\013 \003(\0132\035.prototest.ProtoTestEvent.Foo\032\022\n" +
        "\003Foo\022\013\n\003bar\030\001 \002(\t\"F\n\rEventCategory\022\021\n\rCA",
        "TEGORY_ZERO\020\000\022\020\n\014CATEGORY_ONE\020\001\022\020\n\014CATEG" +
        "ORY_TWO\020\002B5\n\034org.apache.druid.data.input.protobu" +
        "fB\025ProtoTestEventWrapper"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner()
        {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root
          )
          {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
                                        new com.google.protobuf.Descriptors.FileDescriptor[]{
                                        }, assigner
        );
    internal_static_prototest_ProtoTestEvent_descriptor =
        getDescriptor().getMessageTypes().get(0);
    internal_static_prototest_ProtoTestEvent_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_prototest_ProtoTestEvent_descriptor,
        new java.lang.String[]{
            "EventType",
            "Id",
            "Timestamp",
            "SomeOtherId",
            "IsValid",
            "Description",
            "SomeFloatColumn",
            "SomeIntColumn",
            "SomeLongColumn",
            "Foo",
            "Bar",
            }
    );
    internal_static_prototest_ProtoTestEvent_Foo_descriptor =
        internal_static_prototest_ProtoTestEvent_descriptor.getNestedTypes().get(0);
    internal_static_prototest_ProtoTestEvent_Foo_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_prototest_ProtoTestEvent_Foo_descriptor,
        new java.lang.String[]{"Bar"}
    );
  }

  // @@protoc_insertion_point(outer_class_scope)
}
